# -!- coding: utf-8 -!-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：baidu_speech.py
#日期：2019-09-17
#备注：Python利用百度AI进行语音识别和语音合成, 需要先安装python SDK   pip install baidu-aip
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

from aip import AipSpeech
from file_deal import save_file,get_file

# 定义常量
APP_ID = '17265594'
API_KEY = '5Q6rrcuuq013oGGHH74XAxzY'
SECRET_KEY = '75iu29otpYyp5e5dNBjGzIzulavhF94G'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)


# 识别音频
def pcm_word():
    # 入参：dev_pid-->默认1537（普通话输入法模型）,1536	普通话(支持简单的英文识别)	搜索模型 ,1737英语
    info = client.asr(get_file("F:\image\\16k.pcm" ), 'pcm', 16000, {'dev_pid': 1536,})
    print(info)


# 文字语音合成
def word_mp3():
    # 合成的文本，使用UTF-8编码，请注意文本长度必须小于1024字节
    # 入参：per-->发音人选择, 0为女声，1为男声，3为情感合成-度逍遥，4为情感合成-度丫丫，默认为女0
    # 入参：vol-->音量，取值0-15，默认为5中音量
    result = client.synthesis('你好百度，我很好的', 'zh', 1, {'vol': 5,})
    if not isinstance(result, dict):
        save_file('F:\image\\auido.mp3', result)
        print('文字语音合成并保存成功！')


if __name__ == '__main__':
    #pcm_word()
    word_mp3()